package com.glorystone.ins.vo;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.glorystone.ins.domain.CustomLocalDateSerializer;
import com.glorystone.ins.domain.EaringPoint;
import com.glorystone.ins.domain.Product;
import com.glorystone.ins.enums.inter.EnumInter;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 项目名称：ins
 * 类名称：RebateSetVo
 * 类描述：
 * 创建人：zgh
 * 创建时间：2018/3/21 19:31
 */
public @Data
class RebateSetVo {

    /***********入参****************/
    /**
     * 订单tid
     */
    private Long tid;
    /**
     * 跟单点位
     */
    private BigDecimal followTicketPoint;

    /**
     * 补点点位
     */
    private BigDecimal supplementPoint;

    /**
     * 产品id
     */
    private Long productId;

    /**
     * 垫资类型
     */
    private Integer type;

    /**
     * 账期
     */
    private Integer paymentDays;

    /**
     * 付款主体
     */
    private Integer paySubject;

    /**
     * 全保费
     */
    private BigDecimal allPremium;

    /*******出参*******/
    /**
     * 渠道返点
     */
    private BigDecimal channelRebate;

    /**
     * 税后保费
     */
    private BigDecimal texPremium;

    /**
     * 产品状态 1：可用  2：不可用
     */
    private Integer status;

    /**
     * 产品修改时间
     */
    private Date product_update_date;

    /**
     * 账期集合
     */
    private List<EaringPoint> list;


    public enum PaySubjectEnum implements EnumInter{
        /**
         * 1. 环宇康泰
         * 2. 青岛盛达
         * 3.玉环天云
         * 4.汉龙
         */
        HUANYU(1,"环宇康泰"),
        QINGDAO(2,"青岛盛达"),
        YUHUAN(3,"玉环天云"),
        DRAGON(4,"汉龙");
        private String valueName;
        private Integer value;
        PaySubjectEnum (Integer value,String valueName) {
            this.value = value;
            this.valueName = valueName;
        }

        public Integer getValue() {
            return value;
        }

        public String getDisplay() {
            return valueName;
        }

        public void setDisplay(String valueName) {
            this.valueName = valueName;
        }
    }



}
